import api from '../../api/index';
import CONFIG from '../../utils/config';
import { stepNext, stepSkip } from '../../config/userUtil.js';
Page({
	data: {
		ossHost: 'https://hxhealth.oss-cn-beijing.aliyuncs.com/redstart/login/purple.png',
		phoneNumber: '',
		Length: 6, //输入框个数
		isFocus: true, //聚焦
		Value: '', //输入的内容
		ispassword: false, //是否密文显示 true为密文， false为明文。
		inputphoneshow: true,
		qrcodeshow: false,
		hasLogin: false,
		loading: true,
		registershow: false  //注册按钮
	},
	Focus(e) {
		var inputValue = e.detail.value;
		console.log(e, 'aaa')
		this.setData({
			Value: inputValue
		});
	},
	// 输入的验证码
	Tap() {
		this.setData({
			isFocus: true
		});
	},
	// 点击短信登陆按钮
	verifcodeLogin() {
		this.getCode();
	},
	// 用户信息查询
	userload() {
		api.post('/api/hxhealth/user/load').then((res) => {
			// console.log(res);
			console.log('----res用户信息查询----', res[0]);
			this.setData({
				userlist: res[0]
			});
			const userInfo = res[0];
			// userInfo.birthday = '';
			// userInfo.gender = '';
			// userInfo.height = '';
			// userInfo.weight = '';
			// userInfo.wechatimg = '';
			wx.setStorageSync('userInfo', res[0]);
			stepNext('', userInfo);
		}).catch((error) => {
			wx.showToast({
				title: error.faultstring,
				icon: 'none',
				duration: 3000
			});
			return;
		});
	},
	// 发送验证码
	getCode() {
		// wx.setStorageSync('accessToken', 'JSESSIONID=20519B590282DC5B5192CE414B6C91EE; Path=/; HttpOnly');
		// this.userload();
		// const actions = {
		// 	data: {
		// 		autoreg: true,
		// 		mobile: 18630677332,
		// 		// verifcode: this.data.Value
		// 		verifcode: '123456'
		// 		// birthday: '2023-11-02'
		// 	}
		// };
		// api.post(
		// 		`/api/hxhealth/login/mobile/veriflogin/${CONFIG.orgCode}/${CONFIG.appCode}`,
		// 		actions,
		// 		true
		// 	)
		// 	.then((res) => {
		// 		wx.hideLoading();
		// 		console.log(res, '登录成功，跳转到首页');
		// 		// wx.setStorageSync('accessToken', res.head['Set-Cookie']);
		// 		wx.setStorageSync('sessionkey', res.data[0].sessionkey);
		// 		wx.setStorageSync('openid', res.data[0].openid);
		// 		this.userload();
		// 		//跳转到首页
		// 		// if (res.head['Set-Cookie']) {
		// 		// 	this.userload();
		// 		// } else {
		// 		// 	this.formSubmit();
		// 		// }
		// 	})
		// 	.catch((error) => {
		// 		console.log(error);
		// 		if(error.faultstring == '手机号用户不存在') {
		// 			this.registeformSubmit()
		// 			// this.setData({
		// 			// 	registershow: true
		// 			// });
		// 			// wx.showToast({
		// 			// 	title: '手机号码未注册，请重新发送验证码并注册',
		// 			// 	icon: 'none',
		// 			// 	duration: 3000
		// 			// });
		// 		} else {
		// 			wx.showToast({
		// 				title: error.faultstring,
		// 				icon: 'none',
		// 				duration: 3000
		// 			});
		// 		}
		// 		return;
		// 	});
		if (!this.data.phoneNumber) {
			wx.showToast({
				title: '请输入手机号',
				icon: 'none',
				duration: 3000
			});
		} else {
			const actions = {
				data: {
					account: this.data.phoneNumber
				}
			};
			api
				.post(`/api/hxhealth/login/mobilecode/${CONFIG.orgCode}/${CONFIG.appCode}`, actions, true)
				.then((res) => {
					console.log('===========发送验证码成功=========================');
					console.log(res, '11111111');
					if (res.head['Set-Cookie']) {
						wx.setStorageSync('accessToken', res.head['Set-Cookie']);
						wx.showToast({
							title: '发送验证码成功',
							icon: 'none',
							duration: 3000
						});
						this.setData({
							qrcodeshow: true
						});
					} else {
						wx.showToast({
							title: '验证码已失效，请重新发送',
							icon: 'none',
							duration: 3000
						});
					}
				})
				.catch((error) => {
					wx.showToast({
						title: error.faultstring,
						icon: 'none',
						duration: 3000
					});
					return;
				});
		}
	},
	upLogin() {
		wx.redirectTo({
			url: '/pages/home/index'
		})
	},
	// 	getaccesstoken(code) {
	// 		var that = this
	// wx.request({
	//   url: 'https://api.weixin.qq.com/cgi-bin/token',
	//   method: 'GET',
	//   data: {
	//     appid: 'wxeed56b13879c5337',
	//     secret: '47976a975173b47d14df789b9cd1ad8c',
	//     grant_type: 'client_credential'
	//   },
	//   success: function(response) {
	//     // 处理服务器返回的数据
	//     const access_token = response.data.access_token;
	// 	console.log('小程序的access_token：', access_token);
	// 	that.getopenid(code)
	//   },
	//   fail: function(error) {
	//     console.error('请求发生错误:', error);
	//   }
	// });
	// 	},
	getopenid(code) {
		console.log(code);
		// 调用微信提供的接口获取用户的 OpenID
		// var that = this
		wx.request({
			url: 'https://api.weixin.qq.com/sns/jscode2session',
			method: 'GET',
			data: {
				appid: 'wxeed56b13879c5337',
				secret: '47976a975173b47d14df789b9cd1ad8c',
				js_code: code,
				grant_type: 'authorization_code'
			},
			success: function (response) {
				console.log(response);
				// 处理服务器返回的数据
				const openid = response.data.openid;
				console.log('用户的OpenID：', openid);
				// that.postmp(openid)
			},
			fail: function (error) {
				console.error('请求发生错误:', error);
			}
		});
	},
	postmp(openid) {
		const pollingInterval = 10000; // 每5秒轮询一
		var that = this
		const data = {
			"media_url": "https://hxhealth.oss-cn-beijing.aliyuncs.com/f1bb68e0-b9be-11ee-8827-17e734fab36f.mp4",
			"media_type": 1,
			"version": 1,
			"scene": 1,
			"openid": openid
		}

		  // 发送小程序异步请求
		  wx.request({
			url: 'https://api.weixin.qq.com/wxa/media_check_async?access_token=76_BrWB2O-xfQBGTeQun9c0DkuOYQxpRbj599bCDpdGqx8la8Brt66L4ZIzVkB2pMt7h5DxzNCdl646G4c5ZPqMWbxmD25zYWawzswkFxuaCpv7yC0qv6vc1oXPM1ISNNcAGADYY',
			method: 'POST',
			data: data,
			success: function (response) {
			  console.log('请求成功:', response.data);
			  setTimeout(that.postmp(openid), pollingInterval);
			  // 处理返回的结果
			},
			fail: function (error) {
			  console.error('请求失败:', error);
			  // 处理请求失败的情况
			}
		  });
	},
	wxapptoken(code) {
		const options = {
			data: {},
			head: {}
		};
		api
			.get(
				`/api/hxhealth/user/openid/${code}`,
				options,
				true
			)
			.then((res) => {
				// this.getaccesstoken(code)
				// this.getopenid(code)
				console.log(res, 'openid获取成功--1111----');
				if (!wx.getStorageSync('LKaccessToken')) {
					this.getTicket()
				}
				this.userload();
				// wx.setStorageSync('openid', res.data[0].openid);
				// wx.setStorageSync('sessionkey', res.data[0].sessionkey);
			})
			.catch((error) => {
				console.log(error);
				wx.showToast({
					title: error.faultstring,
					icon: 'none',
					duration: 3000
				});
				return;
			});
	},
	// getopenid(code) {
	// 	const options = {
	// 		data: {},
	// 		head: {}
	// 	};
	// 	api
	// 		.get(
	// 			`/api/hxhealth/user/openid/${code}`,
	// 			options,
	// 			true
	// 		)
	// 		.then((res) => {
	// 			this.getopenid()
	// 			console.log(res, 'openid获取成功---222---');
	// 		})
	// 		.catch((error) => {
	// 			console.log(error);
	// 			wx.showToast({
	// 				title: error.faultstring,
	// 				icon: 'none',
	// 				duration: 3000
	// 			});
	// 			return;
	// 		});
	// },
	// 手机验证码登陆
	formSubmit() {
		// if (this.data.Value && this.data.Value.length > 5) {
		wx.showToast({
			title: '正在登陆...',
			icon: 'loading',
			duration: 12000
		});
		wx.login({
			success: (res) => {
				console.log(res);
				const code = res.code
				// this.getopenid(code)

				if (res.errMsg === 'login:ok') {
					const actions = {
						data: {
							autoreg: true,
							mobile: this.data.phoneNumber,
							verifcode: this.data.Value,
							manlogin: false
							// verifcode: '123456'
							// birthday: '2023-11-02'
						}
					};
					api
						.post(
							`/api/hxhealth/login/mobile/veriflogin/${CONFIG.orgCode}/${CONFIG.appCode}`,
							actions,
							true
						)
						.then((res) => {
							wx.hideLoading();
							console.log(res, '登录成功，跳转到首页111',res.head['Set-Cookie']);
							if(!wx.getStorageSync('userInfo')) {
								this.wxapptoken(code)
							} else {
								this.formSubmit();
							}
							// //跳转到首页
							// if (res.head['Set-Cookie']) {
							// 	// wx.setStorageSync('accessToken', res.head['Set-Cookie']);

							// 	// this.userload();
							// } else {
							// 	this.formSubmit();
							// }
						})
						.catch((error) => {
							console.log(error);
							if (error.faultstring == '手机号用户不存在') {
								this.registeformSubmit()
								// this.setData({
								// 	registershow: true
								// });
								// wx.showToast({
								// 	title: '手机号码未注册，请重新发送验证码并注册',
								// 	icon: 'none',
								// 	duration: 3000
								// });
							} else {
								wx.showToast({
									title: error.faultstring,
									icon: 'none',
									duration: 3000
								});
							}

							return;
						});
				} else {
				}
			},
			fail: (e) => {
				console.groupEnd();
				reject({
					code: 'loginError',
					message: '登录失败',
					detail: e
				});
			}
		});
		// } else {
		// 	wx.showToast({
		// 		title: '请输入验证码',
		// 		icon: 'none',
		// 		duration: 3000
		// 	});
		// }
	},
	// 使用手机号注册
	registeformSubmit() {
		console.log(this.data.Value);
		var num = this.data.Value;
		console.log(num.length);
		if (this.data.Value && this.data.Value.length > 5) {
			wx.login({
				success: (res) => {
					console.log('==========333==========================');
					console.log(res);
					if (res.errMsg === 'login:ok') {
						const actions = {
							data: {
								mobile: this.data.phoneNumber,
								verifcode: this.data.Value
								// birthday: '2023-11-02'
							}
						};
						api
							.post(
								`/api/hxhealth/login/mobile/registe/${CONFIG.orgCode}/${CONFIG.appCode}`,
								actions,
								true
							)
							.then((res) => {
								console.log(res, '使用手机号注册，跳转到首页11111111');
								//跳转到首页
								this.userload();
								if (!wx.getStorageSync('LKaccessToken')) {
									this.getTicket()
								}
							})
							.catch((error) => {
								console.log(error);
								wx.showToast({
									title: error.faultstring,
									icon: 'none',
									duration: 3000
								});
								return;
							});
					} else {
					}
				},
				fail: (e) => {
					console.groupEnd();
					reject({
						code: 'loginError',
						message: '登录失败',
						detail: e
					});
				}
			});
		} else {
			wx.showToast({
				title: '点击获取验证码',
				icon: 'none',
				duration: 3000
			});
		}
	},
	stepSkip() {
		stepSkip();
	},
	goNext() {
		wx.showToast({
			title: '点击获取验证码',
			icon: 'none',
			duration: 3000
		});
	},
	// 微信登陆
	// goNextWxlogin() {
	// 	wx.login({
	// 		success: (res) => {
	// 			if (res.errMsg === 'login:ok') {
	// 				const options = {
	// 					data: {},
	// 					head: {}
	// 				};
	// 				api
	// 					.get(
	// 						`/api/hxhealth/login/wxappcode/${CONFIG.orgCode}/${CONFIG.appCode}/${res.code}`,
	// 						options,
	// 						true
	// 					)
	// 					.then((res) => {
	// 						console.log(res, '微信登录成功，跳转到首页');
	// 						wx.setStorageSync('accessToken', res.head['Set-Cookie']);
	// 						wx.setStorageSync('sessionkey', res.data[0].sessionkey);
	// 						wx.setStorageSync('openid', res.data[0].openid);
	// 						//跳转到首页
	// 						if (res.head['Set-Cookie']) {
	// 							this.userload();
	// 						} else {
	// 							this.goNextWxlogin();
	// 						}
	// 					})
	// 					.catch((error) => {
	// 						console.log(error);
	// 						wx.showToast({
	// 							title: error.faultstring,
	// 							icon: 'none',
	// 							duration: 3000
	// 						});
	// 						setTimeout(function() {
	// 							 this.goRegister()
	// 						}, 2000);
	// 						return;
	// 					});
	// 			} else {
	// 			}
	// 		},
	// 		fail: (e) => {
	// 			console.groupEnd();
	// 			reject({
	// 				code: 'loginError',
	// 				message: '登录失败',
	// 				detail: e
	// 			});
	// 		}
	// 	});
	// },
	// 注册小按钮带下划线
	// goRegister() {
	// 	if (this.data.phoneNumber) {
	// 		wx.showToast({
	// 			title: '点击获取验证码',
	// 			icon: 'none',
	// 			duration: 3000
	// 		});
	// 		this.getCode();
	// 		this.setData({
	// 			qrcodeshow: true,
	// 			registeShow: true
	// 		});
	// 	} else {
	// 		wx.showToast({
	// 			title: '请输入手机号',
	// 			icon: 'none',
	// 			duration: 3000
	// 		});
	// 	}
	// },
	//微信小程序注册
	// goNextWxRegiste() {
	// 	if(this.data.Value && this.data.phoneNumber) {
	// 		wx.login({
	// 			success: (res) => {
	// 				if (res.errMsg === 'login:ok') {
	// 					const actions = {
	// 						data: {
	// 							mobile: this.data.phoneNumber,
	// 							verifcode: this.data.Value
	// 						}
	// 					};
	// 					api
	// 						.post(
	// 							`/api/hxhealth/login/wxappreg/${CONFIG.orgCode}/${CONFIG.appCode}/${res.code}`,
	// 							actions,
	// 							true
	// 						)
	// 						.then((res) => {
	// 							console.log(res, '登录成功，跳转到首页');
	// 							wx.setStorageSync('accessToken', res.head['Set-Cookie']);
	// 							wx.setStorageSync('sessionkey', res.data[0].sessionkey);
	// 							wx.setStorageSync('openid', res.data[0].openid);
	// 							//跳转到首页
	// 							if (res.head['Set-Cookie']) {
	// 								this.userload();
	// 							} else {
	// 								this.formSubmit();
	// 							}
	// 						})
	// 						.catch((error) => {
	// 							console.log(error);
	// 							wx.showToast({
	// 								title: error.faultstring,
	// 								icon: 'none',
	// 								duration: 3000
	// 							});
	// 							return;
	// 						});
	// 				} else {
	// 				}
	// 			},
	// 			fail: (e) => {
	// 				console.groupEnd();
	// 				reject({
	// 					code: 'loginError',
	// 					message: '注册失败',
	// 					detail: e
	// 				});
	// 			}
	// 		});
	// 	} else {
	// 		if( !this.data.phoneNumber ) {
	// 			wx.showToast({
	// 				title: '请输入手机号',
	// 				icon: 'none',
	// 				duration: 3000
	// 			});
	// 		}
	// 		if( !this.data.Value && this.data.Value.length>5 ) {
	// 			wx.showToast({
	// 				title: '点击获取验证码',
	// 				icon: 'none',
	// 				duration: 3000
	// 			});
	// 		}
	// 	}
	// },
	async getTicket() {
		try {
			const list = await api.post('/api/hxhealth/user/laikangticket')
			console.log(list);
			this.getTickettologin(list[0].url, list[0].ticket)
		} catch (e) {
			console.log(e);
		}
	},
	async getTickettologin(url, ticketvalue) {
		try {
			const res = await api.ApiCookieGet(`${url}/api/login/ticket/${ticketvalue}?`)
			console.log(res);
			console.log(res.head['Set-Cookie']);
			wx.setStorageSync('LKaccessToken', res.head['Set-Cookie'])
			return res
		} catch (e) {
			return null
		}
	},
	/**
   * 生命周期函数--监听页面加载
   */
	onLoad: function (option) {
		const eventChannel = this.getOpenerEventChannel();
		wx.showLoading({
			title: '加载中',
		})
		const userInfo = wx.getStorageSync('userInfo')
		if (userInfo) { // 已登录，跳转到首页
			this.setData({
				hasLogin: true,
				loading: false,
			})
			wx.hideLoading()
			this.userload();
		} else {
			this.setData({
				hasLogin: false,
				loading: false,
			})
			wx.hideLoading()
		}

		// 监听acceptDataFromOpenerPage事件，获取上一页面通过eventChannel传送到当前页面的数据
		// eventChannel.on('acceptDataFromOpenerPage', (data) => {
		//   this.phoneNumber = data.phoneNumber
		// })
	},

	/**
   * 生命周期函数--监听页面初次渲染完成
   */
	onReady() { },

	/**
   * 生命周期函数--监听页面显示
   */
	onShow() { },

	/**
   * 生命周期函数--监听页面隐藏
   */
	onHide() { },

	/**
   * 生命周期函数--监听页面卸载
   */
	onUnload() { },

	/**
   * 页面相关事件处理函数--监听用户下拉动作
   */
	onPullDownRefresh() { },

	/**
   * 页面上拉触底事件的处理函数
   */
	onReachBottom() { },

	/**
   * 用户点击右上角分享
   */
	onShareAppMessage() { }
});
